#pragma once

namespace WTB{

	class CAbstractHeapNode
	{
	public:
		CAbstractHeapNode(void)
			:m_uHeapIndex(MAX_INDEX_PLUS_1)
		{
		}
		virtual ~CAbstractHeapNode(void){

		}
		virtual bool Greater(CAbstractHeapNode* _pNode) = 0;
		void SetHeapIndex(unsigned _uIndex){
			m_uHeapIndex = _uIndex;
		}
		unsigned GetHeapIndex(){
			return m_uHeapIndex;
		}
	private:
		unsigned m_uHeapIndex;
	public:
		static const unsigned MAX_INDEX_PLUS_1  = -1;
	};

}
